Instances
Consider a situation where you need to model hundreds of chairs for a cinema
theatre. The chairs all look the same, only their position and orientation vary.
Instances allow you to manage this kind of situations efficiently. An instanced
object duplicates its source object. When the source object is modified, all
instances referring to it will change accordingly. Instances can be transformed
or deformed using any available modify function including single point editing. Instances
can be instanced, instances of instances can be instanced, etc.
Creating instance objects
1. Model a chair of a movie theatre.

A sample chair
2. Make sure that the chair is selected. Then select the pull-down menu 'Edit/Instance'.
Modifying instance objects
You can modify an instance object using all common tools, such as delete, duplicate, move, rotate and scale:
3. Select the instance of the chair and activate the Move tool.
4. Move the instance to the right side of the original chair.
We can use the macro system to achieve more instances quickly:
5. Select 'Macros/Record' from the pull-down menu.
6. Select the instance object. Select 'Edit/Duplicate'. Then move the duplicated instance to the right.
7. Select 'Macros/Record' again from the pull-down menu to switch macro recording off. Go to the Macros tab of the select window. Enter a suitable value to the 'Repetitions' field and click 'Apply'.

A row of chairs
Modifying the source object of instances
Let's improve the chairs. Because of instancing, only one chair needs improvements:
8. Add a neck support to the sub hierarchy of the original chair.
9. Select all sub objects of the original chair and rotate them.
All instances change to reflect these modifications.
More comfortable chairs
Properties of instances
- Instances can be freely animated.
- Levels with many sub objects can be instanced.
- Instances spare RAM memory used for storing object geometry and wire frame
representations. Instances also consume less disk space than 'real' geometric
objects when saved to a file.
- The photorealistic render engine converts an instance to an actual geometry
(for speed reasons). Therefore, instances do not decrease rendering time memory
usage.
- Instance property gadget has a control which specifies how transforming
the source object or its parent levels affects the instance.
By default, the Ignore Matrix option is set, meaning that you can move, rotate
and scale the source object independently of its instances. To modify both the
source object and the instances, you have to make the modification to the
sub hierachy of the source object (sub objects or geometry points in edit state).
If the option is cleared, the instance system takes into account the modifications performed
to parent levels. If you modify the parent level
of an object, instances referring to that object become modified as well.
In many cases this is the expected behavior. However, there is one side effect:
if an instance and its source object are moved into a new hierarchy level,
the transformation history defined by the parent levels may change. Therefore,
the 'evaluation' of modifications performed to the instance may also change.
The following example clarifies this: Create a level, and put an object into
it. Create an instance of the object to the same hierarchy level and move
it 0.1 m to the right. Rotate the level 45 degrees. Both objects rotate as
expected. The instance still contains the information 'source moved 0.1 m
to the right', but moving happens now in the rotated parent space. Now create
a new level and drag & drop both the instance and the source to it. The
instance jumps to a new position, because the new parent level is not rotated.